1. Field of the Invention
The present invention relates to data receiving devices for use, for example, to connect personal computers to ATM communications networks.
2. Description of the Prior Art
A personal computer often requires connection to a data communications network in order for the computer to be able to transmit and receive data to/from other devices. The personal computer is normally connected to such a communications network via a dedicated communications control device which may be referred to as a terminal controller (TC). Such a terminal controller is employed to control as many aspects as possible of the data transfer between the computer and the communications network, leaving the computer's central processing unit (CPU) free to perform the primary data processing tasks of the computer.
A recently-proposed type of communications network, suitable for data communications, is an asynchronous transfer mode network or ATM network. In an ATM network, data is transported in fixed-length cells, each cell having a data or payload portion, for transporting a predetermined amount of data (48 bytes), and a header portion, of 5 bytes, which contains control and addressing information for the cell.
ATM networks are designed to be capable of providing up to 256 separate communications paths, termed "virtual paths", and each of these virtual paths can contain as many as 65,536 individual data channels, which are termed "virtual channels". To identify to which virtual channel an ATM cell belongs, each cell carries in its header portion a "cell address" which includes a virtual path identification (VPI) portion and a virtual channel identification (VCI) portion. With a maximum of 256 virtual paths and 65,536 virtual channels in each virtual path, there may be up to 16.7 million different cell addresses.
A personal computer may require access to a number of different preselected virtual channels for different communications purposes. Thus, some of the preselected virtual channels may be high priority channels used, for example, for video links. Data received from the ATM network for such high priority channels must be transferred by the terminal controller to the main memory of the personal computer as quickly as possible to avoid picture degradation or slow-motion. Other virtual channels may be low priority channels used, for example, for transfer of low bit-rate data. For these channels, some delay in transfer of data received from the ATM network to the main memory may be permissible.
At an egress node of an ATM network, cells belonging to high priority channels are inevitably interleaved with cells belonging to low priority channels. A problem may therefore arise in that conventionally the cells received at the egress node from the ATM network are transferred to the main memory in the same order as that in which they are received, which leads to blocking of data for high priority channels by data for low priority channels. To prevent such blocking the low priority channel data must be transferred to the main memory with the same priority as the high priority channel data, but this defeats the object of prioritising the channels and may interrupt the other activities of the personal computer to an unacceptable extent, for example by overburdening the computer's central processing unit.